package com.js.core.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.js.core.dto.ArticleDto;
import com.js.core.entity.result.ResultBean;
import com.js.core.dto.AttitudeDto;
import com.js.core.entity.Article;
import com.js.core.entity.ArticleAttitude;


/***
 *
 * @Auther: MuYun
 * @Date: 2024/7/24 17:59
 * @Description：服务层
 *
 */
public interface ArticleService extends IService<Article> {

    /**
    * @Description: 查看
    * @Param: [attitudeDto]
    * @return: com.js.core.entity.result.ResultBean
    * @Author: mazp
    * @Date: 2024/10/11
    */
    ResultBean look(AttitudeDto attitudeDto);

    /**
     * @description  查询文章及正文
     * @author  mazp
     * @date    2025/8/25 20:05
     * @param
     * @return  com.js.core.entity.result.ResultBean
    */
    ResultBean queryArticleAndContent();

    /**
     * @description  保存/发布
     * @author  mazp
     * @date    2025/10/20 15:30
     * @param	articleDto
     * @return  com.js.core.entity.result.ResultBean
    */
    ResultBean saveOrPubish(ArticleDto articleDto);


    /**
    * @Description: 点赞
    * @Param: [attitudeDto]
    * @return: com.js.core.entity.result.ResultBean
    * @Author: mazp
    * @Date: 2024/9/27
    */
    ResultBean agree(AttitudeDto attitudeDto);

    /**
     * @description  点踩
     * @author  mazp
     * @date    2025/7/15 20:49
     * @param	attitudeDto
     * @return  com.js.core.entity.result.ResultBean
    */
    ResultBean dislike(AttitudeDto attitudeDto);

    /**
    * @Description: 收藏
    * @Param: [attitudeDto]
    * @return: com.js.core.entity.result.ResultBean
    * @Author: mazp
    * @Date: 2024/9/27
    */
    ResultBean collect(AttitudeDto attitudeDto);

    /**
     * @description  查看用户对文章的态度
     * @author  mazp
     * @date    2025/7/15 20:50
     * @param	articleAttitude
     * @return  com.js.core.entity.result.ResultBean
    */
    ResultBean queryAttitude(ArticleAttitude articleAttitude);

}
